#pragma once

#include <QtWidgets/QMainWindow>
#include "ui_FileBckTool.h"
#include <qstring.h>
#include <qmap.h>
#include <set>
#include <qsystemtrayicon.h>
#include <qaction.h>
#include "FileCopy.h"
#include <qtimer.h>
#include <qmutex.h>
class FileBckTool : public QMainWindow
{
    Q_OBJECT

public:
    FileBckTool(QWidget *parent = Q_NULLPTR);


private:
    Ui::FileBckToolClass ui;
    QSystemTrayIcon* systemTray;
    QAction* quitAct;
    QAction* minimumAct;
    QAction* maximumAct;
    QAction* restoreAct;
    QMenu* pContextMenu;
    FileCopyWorker* worker;
    configure conf;
    QTimer *timer;
private:
    void init();
public slots:
    void on_add_src_file_clicked();
    void on_add_src_dir_clicked();
    void on_add_dst_dir_clicked();
    void on_add_exclude_file_clicked();
    void on_add_exclude_dir_clicked();
    void on_update_btn_clicked();
    void on_timer_stop();
    void on_updateUINumber(qint64, qint64, qint64, qint64);
    void handle_close();
};
